package d1216;

import java.util.Arrays;
import java.util.Scanner;

public class p1 {
    public static void main(String[] args) {
//        1.编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕
        String s = "jdk";
        String r1 = s.substring(1).toUpperCase();
        System.out.println(r1);
//        2.编写程序将String类型字符串”test” 变为 “tset”.
        String s1 = "test";
        StringBuilder r=new StringBuilder(s1);
        r = r.reverse();
        System.out.println(r);
//        3.写一个方法判断一个字符串是否对称
        String s2 = "12321";
        test(s2);

//        4.String s = "113@ ere qqq yyui"
//        请输出所有子串
//        113
//        ere
//                qqq
//        yyui
        String s3 = "113@ ere qqq yyui";
        String[] split = s3.replace("@", "").split(" ");
        System.out.println(Arrays.toString(split));

//        5.String s=”namezhangshuai age18 classNo090728”;
//        将上面的字符串拆分，结果如下:
//        zhangshuai 18 090728
        String s4 = "name=zhangshuai age=18 classNo=090728";
        String s5 = s4.replace("=", "").replace("classNo", "").replace("age", "")
                .replace("name", "");
        System.out.println(s5);

//        6. 编写一个方法，将一段文本中的各个单词的字母顺序翻转，例如：“To be or not to be"，
//        将变成"oT eb ro ton ot eb"。
        StringBuilder s6 = new StringBuilder("To be or not to be");
        System.out.println( reserve(s6));

//        7.键盘中输入一个身份证号码，输出这个人的年龄和性别。
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入身份证号码");
        String  s7= scanner.next();
        if (s7.matches("\\d{18}||\\d{17}x")){
            System.out.println("号码符合");
            String s8 = s7.substring(6, 10);
            StringBuilder aa = new StringBuilder();
            char c = s7.charAt(16);
            if ((c-48)%2==0){
                aa.append("女");
            }else{
                aa.append("男");
            }
            System.out.println("年龄："+(2020-Integer.parseInt(s8)));
            System.out.println("性别："+aa);

        }else {
            System.out.println("号码不符");
        }

    }
//            3.写一个方法判断一个字符串是否对称
    public static void test(String s ){
        String[] split = s.split("");
        boolean flag =true;
        for (int i = 0; i < split.length; i++) {
            if (!(split[i].equals(split[split.length-i-1]))){
                flag =false;
            }
        }
        if (flag){
            System.out.println("该字符串对称");
        }else{
            System.out.println("该字符串不对称");
        }
    }
//     6. 编写一个方法，将一段文本中的各个单词的字母顺序翻转，例如：“To be or not to be"，
//            将变成"oT eb ro ton ot eb"。
    public static  StringBuilder  reserve(StringBuilder s){
        String[] split = s.toString().split(" ");
        s.delete(0,s.length());
        for (int i = 0; i <split.length ; i++) {
            StringBuilder reverse = new StringBuilder(split[i]).reverse();
            s.append(reverse+" ");
        }
        return s;
    }
}
